package net.hands.ado.db.jdbc.dialect;

public class MySQLFunction extends SQLFunction {
	@Override
	public String ascii(String str) {
		return getSb().append(" ascii(").append(str).append(" ) ").toString();
	}

	@Override
	public String year(String str) {
		return getSb().append(" year(").append(str).append(" ) ").toString();
	}

	@Override
	public String bin(String str) {
		return getSb().append(" bin(").append(str).append(" ) ").toString();
	}

	@Override
	public String charLength(String str) {
		return getSb().append(" char_length(").append(str).append(" ) ")
				.toString();
	}

	//
	// @Override
	// public String characterLength(String str) {
	// 
	// return getSb().append(" character_length(").append(str).append(" ) ")
	// .toString();
	// }

	@Override
	public String ltrim(String str, String colName, Integer s) {
		return getSb().append(" ltrim(").append(str).append(") ").toString();
	}

	@Override
	public String rtrim(String str, String colName, Integer s) {
		return getSb().append(" rtrim(").append(str).append(") ").toString();
	}

	public String ord(String str) {
		return getSb().append(" ord(").append(str).append(") ").toString();
	}

	@Override
	public String quote(String str) {
		return getSb().append(" quote(").append(str).append(") ").toString();
	}

	@Override
	public String reverse(String str) {
		return getSb().append(" reverse(").append(str).append(") ").toString();
	}

	@Override
	public String space(int num) {
		return getSb().append(" space(").append(num).append(") ").toString();
	}

	@Override
	public String unhex(String str) {
		return getSb().append(" unhex(").append(str).append(") ").toString();
	}

	@Override
	public String hex(String str) {
		return getSb().append(" hex(").append(str).append(") ").toString();
	}

	@Override
	public String sign(String str) {
		return getSb().append(" sign(").append(str).append(") ").toString();
	}

	@Override
	public String acos(String str) {
		return getSb().append(" acos(").append(str).append(") ").toString();
	}

	@Override
	public String asin(String str) {
		return getSb().append(" asin(").append(str).append(") ").toString();
	}

	@Override
	public String cos(String str) {
		return getSb().append(" cos(").append(str).append(") ").toString();
	}

	@Override
	public String crc32(String str) {
		return getSb().append(" crc32(").append(str).append(") ").toString();
	}

	@Override
	public String exp(String str) {
		return getSb().append(" exp(").append(str).append(") ").toString();
	}

	@Override
	public String ln(String str) {
		return getSb().append(" ln(").append(str).append(") ").toString();
	}

	@Override
	public String log(String b, String x) {
		if (b == null) {
			return getSb().append(" log(").append(x).append(") ").toString();
		} else {
			return getSb().append(" log(").append(b).append(",").append(x)
					.append(") ").toString();
		}
	}

	@Override
	public String log2(String x) {
		return getSb().append(" log2(").append(x).append(") ").toString();
	}

	@Override
	public String log10(String x) {
		return getSb().append(" log10(").append(x).append(") ").toString();
	}

	@Override
	public String pi(String str) {
		return getSb().append(" pi(").append(str).append(") ").toString();
	}

	@Override
	public String sin(String str) {
		return getSb().append(" sin(").append(str).append(") ").toString();
	}

	@Override
	public String rand(String n) {
		if (n != null) {
			return getSb().append(" rand(").append(n).append(") ").toString();
		}
		return getSb().append(" rand(").append(") ").toString();
	}

	@Override
	public String tan(String str) {
		return getSb().append(" tan(").append(str).append(") ").toString();
	}

	@Override
	public String degrees(String str) {
		return getSb().append(" degrees(").append(str).append(") ").toString();
	}

	@Override
	public String ceiling(String str) {
		return getSb().append(" ceiling(").append(str).append(") ").toString();
	}

	@Override
	public String ceil(String str) {
		return getSb().append(" ceil(").append(str).append(") ").toString();
	}

	@Override
	public String floor(String str) {
		return getSb().append(" floor(").append(str).append(") ").toString();
	}

	@Override
	public String datediff(String date1, String date2) {
		return getSb().append(" datediff(").append(date1).append(",")
				.append(date2).append(") ").toString();
	}

	@Override
	public String round(String x, int d) {
		if (d != 0) {
			return getSb().append(" round(").append(x).append(",").append(d)
					.append(") ").toString();
		}
		return getSb().append(" round(").append(x).append(") ").toString();
	}

	@Override
	public String timediff(String time1, String time2) {
		return getSb().append(" timediff(").append(time1).append(",")
				.append(time2).append(") ").toString();
	}

	@Override
	public String date_format(String date, String format) {
		return getSb().append(" timediff(").append(date).append(",")
				.append(format).append(") ").toString();
	}
}
